#ifndef ASGKA_DELETE_H
#define ASGKA_DELETE_H

#include "asgkaBase.h"
#include "singleGroup.h"
#include <string>

class asgkaDelete : public asgkaBase
{
public:
	asgkaDelete();
	asgkaDelete(singleGroup *group, c_asgka_element elementDeckey);
	asgkaDelete(singleGroup *group,
		c_asgka_element elementGrpkeyR, c_asgka_element elementGrpkeyA);
	~asgkaDelete();

	void setElementDecryptKey(c_asgka_element elementDeckey);
	void setElementGroupKeys(c_asgka_element elementGrpkeyR, c_asgka_element elementGrpkeyA);
	void computeMyDecryptKey();

private:
	void computeMyGroupKeyR();
	void computeMyGroupKeyA();

private:
	asgka_element m_elementDecryptKey;
	asgka_element m_elementGroupKeyR;
	asgka_element m_elementGroupKeyA;
};

#endif // ASGKA_DELETE_H
